package ru.chaykin.load.parse;

import java.util.regex.Pattern;

public interface IRegExpsPatternsConsts {
	public static final Pattern H_VERSION_PATT = Pattern.compile("\\s*Version\\s+\\d{2,3}\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern H_DELIMETER_PATT = Pattern.compile("\\s*Delimiter\\s+[\"\'](.*)[\"\']\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern H_COORDSYS_PATT = Pattern.compile("CoordSys.+Bounds\\s+\\((-?\\d+([\\.,]\\d+)?),\\s+(-?\\d+([\\.,]\\d+)?)\\)\\s+" +
																	"\\((-?\\d+([\\.,]\\d+)?),\\s+(-?\\d+([\\.,]\\d+)?)\\)", Pattern.CASE_INSENSITIVE);
	public static final Pattern H_COLUMNS_PATT = Pattern.compile("\\s*Columns\\s+(\\d{1,3})\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern H_COLUMN_NAME_PATT = Pattern.compile("\\s*(.*)\\s+.*", Pattern.CASE_INSENSITIVE);
	
	public static final Pattern B_LINE_PATT = Pattern.compile("\\s*Line\\s+(-?\\d+([\\.,]\\d+)?)\\s+(-?\\d+([\\.,]\\d+)?)\\s*" +
															   "(-?\\d+([\\.,]\\d+)?)\\s+(-?\\d+([\\.,]\\d+)?)\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_PLINE_PATT = Pattern.compile("\\s*Pline\\s+(\\d+)\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_REGION_PATT = Pattern.compile("\\s*Region\\s+(\\d+)\\s*", Pattern.CASE_INSENSITIVE);
	
	public static final Pattern B_FLOAT_POINT_PATT = Pattern.compile("\\s*(-?\\d+([\\.,]\\d+)?)\\s+(-?\\d+([\\.,]\\d+)?)\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_PNTS_IN_REGION_PATT = Pattern.compile("\\s*(\\d+)\\s*");
	
	public static final Pattern B_TEXT_PATT = Pattern.compile("\\s*Text\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_TEXT_STR_PATT = Pattern.compile("\\s*\"(.*)\"\\s*");
	public static final Pattern B_TEXT_POINT_PATT = Pattern.compile("\\s*(-?\\d+([\\.,]\\d+)?)\\s+(-?\\d+([\\.,]\\d+)?)\\s*" +
			   "(-?\\d+([\\.,]\\d+)?)\\s+(-?\\d+([\\.,]\\d+)?)\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_TEXT_ANGLE_PATT = Pattern.compile("\\s*Angle\\s+(-?\\d+([\\.,]\\d+)?)\\s*", Pattern.CASE_INSENSITIVE);
	
	public static final Pattern B_POINT_PATT = Pattern.compile("\\s*Point\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_ARC_PATT = Pattern.compile("\\s*Arc\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_RECT_PATT = Pattern.compile("\\s*Rect\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_ROUNDRECT_PATT = Pattern.compile("\\s*Roundrect\\s*", Pattern.CASE_INSENSITIVE);
	public static final Pattern B_ELLIPSE_PATT = Pattern.compile("\\s*Ellipse\\s*", Pattern.CASE_INSENSITIVE);
}
